Computer software is created by writing source code files in programming languages. Source files typically consist of functions or routines that perform some operation. These source code files consist of human-readable text which are translated by compilers into a machine-readable form known as object code. The object code from one or more source code files are put together by a linker to form a load module. These modules are loaded into a computer system where they can be executed. Each object contains instructions which the computer system executes. Each instruction requires time to execute.
Software performance analysis tools are typically used by software developers to gain an understanding of time of execution and path of execution of software. The performance analysis tool is run against specific software and performance data is produced. The performance data is then presented to a developer, commonly in a graphical format. The developer, using the data, can locate places in the software where inordinate amounts of execution time are being used. The developer can then modify the source code to improve the efficiency of the software. These software performance analysis tools are also helpful in gaining an understanding of the path of execution of software. This can be especially useful if the developer does not have prior familiarity with the software.